﻿using System;
using System.Text;
using System.ComponentModel;
using System.Collections;
using System.Collections.Generic;
using BesAsm.MasterData.Entities;
using ESRI.ArcGIS.Carto;
using BesAsm.Framework.ArcGisUtilities;

namespace BesAsm.MasterData.Entities  
{
  /// <summary>
  /// Represents a list of Arc features
  /// </summary>
  /// <typeparam name="T">The type of element (limited to classes implementing IArcEntity and IEntity)</typeparam>
  public interface IArcList<T> : IBindingList, IList<T> where T : IArcEntity, IEntity
  {    
     /// <summary>
    /// Creates a new layer containing the selected elements from an existing layer. An
    /// existing layer with the same name as the new layer will be removed if it exists.
    /// </summary>    
    /// <param name="newLayerName">The name of the new layer to be created</param>    
    IFeatureLayer Layer { get; }        
  }
}
